// 修改默认的图标
function myAddDiyDom(treeId, treeNode) {

    // treeId是整个树形结构附着的ul标签的id
    console.log("treeeId" + treeId);

    // 当前树形节点的全部数据，本科从后端查询到的Menu对象的全部属性
    console.log(treeNode);

    // zTree生成id的规则
    // 例子： treeDemo_7_ico
    // 解析：ul标签的id_当前节点的序号_功能
    // 提示：“ul标签的id_当前节点的序号”部分可以通过访问treeNode的tId属性得到
    // 根据id的生成规则拼接出来span标签的id
    var spanId = treeNode.tId + "_ico"


    // 根据控制图标的span标签的id找到这个span标签
    // 删除旧的class
    // 添加新的class
    $("#" + spanId).removeClass().addClass(treeNode.icon);
}

// 鼠标移入节点范围时 添加按钮组
function myAddHoverDom(treeId, treeNode) {
    // 按钮组的标签结构 <span><a><i></i></></span>
    // 按钮出现的位置：节点中treeDemo_n_a 超链接后面

    //为了在需要移除按钮组的时候能够精确定位到按钮组所在的span，需要给span设置有规律的id
    var btnGroupId = treeNode.tId + "_btnGrp";

    // 找到附着在按钮组的超链接
    var anchorId = treeNode.tId + "a";

    // 判断是否会多次生成
    if ($("#" + btnGroupId).length > 0) {
        return;
    }

    // 声明变量存储拼装好的按钮代码
    var btnHTML = "";

    // 获取当前节点的级别数据
    var level = treeNode.level;

    // 准备各个按钮的超链接
    var addBtn = "<a id = '" + treeNode.id + "' class='addBtn btn btn-info dropdown-toggle btn-xs' style='margin-left:10px;padding-top:0px;' href='#' title='添加子节点'>&nbsp;&nbsp;<i class='fa fa-fw fa-plus rbg '></i></a>";
    var editBtn = "<a id = '" + treeNode.id + "' class='editBtn btn btn-info dropdown-toggle btn-xs' style='margin-left:10px;padding-top:0px;' href='#' title='修改子节点'>&nbsp;&nbsp;<i class='fa fa-fw fa-edit rbg '></i></a>";
    var removeBtn = "<a id = '" + treeNode.id + "' class='removeBtn btn btn-info dropdown-toggle btn-xs' style='margin-left:10px;padding-top:0px;' href='#' title='删除子节点'>&nbsp;&nbsp;<i class='fa fa-fw fa-times rbg '></i></a>";

    // 判断当前节点级别
    if (level == 0) {

        // 级别为0时时分支节点，只能添加子节点，
        btnHTML = btnHTML + addBtn;
    }

    // 分支节点
    if (level == 1) {

        // 级别为1时时分支节点，只能添加子节点.修改 ，
        btnHTML = addBtn + " " + editBtn;

        let length = treeNode.children.length;

        // 如果当前节点没有子节点，则自己可以移除
        if (length == 0) {
            btnHTML = btnHTML + " " + removeBtn
        }
    }

    // 叶子节点
    if (level == 2) {
        btnHTML = editBtn + " " + removeBtn;
    }

    // 执行超链接后面附加span元素的操作
    $("#" + anchorId).after("<span id='" + btnGroupId + "'>" + btnHTML + "</span>")
}

// 鼠标离开节点范围时 添加按钮组
function myRemoveHoverDom(treeId, treeNode) {

    // 拼接按钮组的id
    var btnGroupId = treeNode.tId + "_btnGrp";

    // 移除对应的元素
    $("#" + btnGroupId).remove();

}